import OSS from "ali-oss";
import Vue from "vue";
import {HttpUtil} from "@/utils/HttpUtil";

(async function () {
  const data = await getSts();
  initOss(data);
})();

async function getSts() {
  let {data} = await HttpUtil.get('/oss/sts');
  return {
    accessKeyId: data.AccessKeyId,
    accessKeySecret: data.AccessKeySecret,
    stsToken: data.SecurityToken
  };
}

function initOss(access) {
  Vue.prototype.$oss = new OSS({
    ...access,
    // yourRegion填写Bucket所在地域。以华东1（杭州）为例，yourRegion填写为oss-cn-hangzhou。
    region: 'oss-cn-beijing',
    // 填写Bucket名称。
    bucket: 'video-ad',
    secure: true,
    // refreshSTSToken: async () => {
    //   // 向您搭建的STS服务获取临时访问凭证。
    //   return await getSts();
    // },
    // // 刷新临时访问凭证的时间间隔，单位为毫秒。
    // refreshSTSTokenInterval: 14400000,
  });
}
